import { IPSAppCounterRef } from '../control/ipsapp-counter-ref';
import { IPSUIAction } from '../../view/ipsuiaction';
import { IPSModelObject } from '../../ipsmodel-object';

/**
 *
 * @export
 * @interface IPSAppViewUIAction
 */
export interface IPSAppViewUIAction extends IPSModelObject {
  /**
   * 应用计数器引用
   *
   * @type {IPSAppCounterRef}
   */
  getPSAppCounterRef(): IPSAppCounterRef | null;

  /**
   * 界面行为对象
   *
   * @type {IPSUIAction}
   */
  getPSUIAction(): IPSUIAction | null;

  /**
   * 界面行为参数
   * @type {IModel}
   */
  uIActionParamJO: IModel;

  /**
   * 界面行为操作目标
   * @description 值模式 [云实体界面行为_操作数据范围] {SINGLEDATA：单项数据、 SINGLEKEY：单项数据（主键）、 MULTIDATA：多项数据、 MULTIKEY：多项数据（主键）、 NONE：无数据 }
   * @type {( string | 'SINGLEDATA' | 'SINGLEKEY' | 'MULTIDATA' | 'MULTIKEY' | 'NONE')}
   */
  uIActionTarget:
    | string
    | 'SINGLEDATA'
    | 'SINGLEKEY'
    | 'MULTIDATA'
    | 'MULTIKEY'
    | 'NONE';

  /**
   * 界面行为数据部件名称
   * @type {string}
   */
  xDataControlName: string;

  /**
   * 先保存目标数据
   * @type {boolean}
   * @default false
   */
  saveTargetFirst: boolean;
}
